<cfcomponent>

	<cfscript>
		variables.name = "";
		variables.help = "";
		variables.excludes = "";
		variables.originalAttributes = structNew();
	</cfscript>
	
	<cffunction name="getName">
		<cfreturn variables.name/>
	</cffunction>
	
	<cffunction name="setName">
		<cfargument name="name" type="string"/>
		<cfset variables.name = name/>
	</cffunction>
	
	<cffunction name="getHelp" output="true">
		<cfoutput><strong>#ucase(getName())# TAG</strong><br/>
		#variables.help#</cfoutput>
		<cfabort/>
	</cffunction>
	
	<cffunction name="setHelp">
		<cfargument name="help" type="string"/>
		<cfset variables.help = help/>
	</cffunction>

	<cffunction name="setExcludeFields">
		<cfargument name="excludes" type="string"/>
		<cfset variables.excludes = excludes/>
	</cffunction>

	<cffunction name="addExcludeFields">
		<cfargument name="excludes" type="string"/>
		<cfset variables.excludes = variables.excludes & "," excludes/>
	</cffunction>
	
	<cffunction name="getOriginalAttributes">
		<cfreturn variables.originalAttributes/>
	</cffunction>
	
	<cffunction name="setOriginalAttributes">
		<cfargument name="attributes" type="struct"/>
		<cfset variables.originalAttributes = attributes/>
	</cffunction>
</cfcomponent>